当前位置:flash课件吧→教育→教育教学栏目

www.luotao2008.cn视频网校,仅需要一个耳机+QQ远程即可完成所有教学任务。

题 目:FLASH内部复制摄像头画面

代码:

//引入Bitmap类
import flash.display.BitmapData;
var _bmp:BitmapData;
///////////////打开摄像头,为了下面的识别复制了哪个对像,所以把视频装进了MC
var _cam:Camera = Camera.get();
_cam.setMode(320, 240, 10, true);
_mc3._video.attachVideo(_cam);
////////////////////
//新建右键 菜单
var _menu = new ContextMenu();
//设置一个变量来记录复制出来的MC的深度,让它递加,不让MC重复
var depth:Number = 1;
//复制函数
function copy_func() {
//用for循环来试,鼠标当前是位于哪个MC之上,就用BMP类绘制哪个对像
for (var d:Number = 3; d>=0; d--) {
if (_root["_mc"+d].hitTest(_xmouse, _ymouse)) {
//绘制鼠标接触的那个MC的图形,并记录在_BMP这个实例中
_bmp = new BitmapData(_root["_mc"+d]._width, _root["_mc"+d]._height);
_bmp.draw(_root["_mc"+d]);
//让粘贴这个右键菜单生效,才打开时它是灰色不可用的
paste_menu.enabled = true;
//鼠标不可能同时接触两个MC,所以一但检测到接触就跳出循环。
break;
}
}
}
//粘贴函数
function paste_func() {
//就是粘贴一次,就在当前的鼠标位置新建一个MC,然后attchBitmap就在新的MC中生成了一个新的图像
_root.createEmptyMovieClip("paste_mc"+depth, depth+100);
_root["paste_mc"+depth].attachBitmap(_bmp, 1, "always", true);
_root["paste_mc"+depth]._x = _xmouse;
_root["paste_mc"+depth]._y = _ymouse;
depth++;
}
//这是右键菜单的设置
_menu.hideBuiltInItems();
var copy_menu:ContextMenuItem = new ContextMenuItem("复制", copy_func);
var paste_menu:ContextMenuItem = new ContextMenuItem("粘贴", paste_func);
paste_menu.enabled = false;
_menu.customItems.push(copy_menu, paste_menu);
this.menu = _menu;

 

 

 

 

FLASH课件制作培训班开班了!火热报名中!加我站管理QQ444860709解决任何疑问! 培训QQ专业群67042004。